﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using bolsatrabajo.Persistencia;
using bolsatrabajo.Dominio.NHIBERNATE;

namespace bolsatrabajo.Negocio
{
    public class ServOfertante
    {
        // Dependencias
        IOfertanteNH OfertanteNH { get; set; }

        // Servicios básicos
        public Ofertante CrearOfertante(Ofertante ofertante)
        {
            Ofertante existeofertante = this.ObtenerOfertante(ofertante.Correo);
            if (existeofertante != null)
                throw new Exception("Ofertante ya existe");
            return OfertanteNH.Crear(ofertante);
        }
        public Ofertante ObtenerOfertante(String xcorreo)
        {
            return OfertanteNH.Obtener(xcorreo);
        }
        public Ofertante ModificarOfertante(Ofertante ofertante)
        {
            Ofertante existeofertante = this.ObtenerOfertante(ofertante.Correo);
            if (existeofertante == null)
                throw new Exception("Ofertante no existe");
            return OfertanteNH.Modificar(ofertante);
        }
        public void EliminarOfertante(Ofertante ofertante)
        {
            Ofertante existeofertante = this.ObtenerOfertante(ofertante.Correo);
            if (existeofertante == null)
                throw new Exception("Ofertante no existe");
            OfertanteNH.Eliminar(ofertante);
        }

        // Servicios avanzados
        public ICollection<Ofertante> ListarxRubros(String rubro)
        {
            return OfertanteNH.ListarxRubro(rubro);
        }

        public ICollection<Ofertante> ListarOfertantes()
        {
            return OfertanteNH.ListarOfertantes();
        }
        public Ofertante ValidarCorreoyContrasena(String xcorreo, String xcontrasena)
        {
            return OfertanteNH.ObtenerPorCorreoYContrasena(xcorreo, xcontrasena);
        }
    }
}